find middle node in a linked list